package org.example.commonapi.domain.onlineCode;

import lombok.Data;

@Data
public class CodeRoot {
    /**
     * 评测的类型(0-OI,1-OJ)
     */
    private String modeType;
    /**
     * 评测的代码
     */
    private String code;
    /**
     * 评测的语言
     */
    private String language;
    /**
     * 测试测试集按照单个测试来计算时间和内存还是总的测试集来计算时间和内存（默认:true）
     */
    private Boolean isSingleTest;
    /**
     * 当且仅当评测类型为OI时，这个字段为必填。其余都不需要填写
     */
    private String oiString;
    /**
     * 标准代码
     */
    private StandardCode standardCode;
    /**
     * 代码相关设置
     */
    CodeSetting codeSetting;

    public CodeRoot(OiCode oiCode,String modeType) {
        this.modeType=modeType;
        this.code= oiCode.getCode();
        this.language= oiCode.getLanguage();
        this.oiString=oiCode.getOiString();
        this.isSingleTest=true;
    }

    public CodeRoot(OjCode ojCode,String modeType,StandardCode standardCode){
        this.modeType=modeType;
        this.code= ojCode.getCode();
        this.language= ojCode.getLanguage();
        this.standardCode=standardCode;
    }
}
